/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.compassion.action;

import com.opensymphony.xwork2.ActionContext;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.json.JSONObject;
import sv.com.compassion.dao.GenericoDAO;
import sv.com.compassion.entidades.Cdi;
import sv.com.compassion.entidades.Empleado;
import sv.com.compassion.entidades.Municipio;
import sv.com.compassion.util.ComunAction;
import sv.com.compassion.util.Constantes;
import sv.com.compassion.util.Fecha;
import sv.com.compassion.util.JqGrid;
import sv.com.compassion.util.RowsGrid;

/** Interacción del mantenimiento Cuentas de usuario
 * @author geovany
*/
public class CuentaAction extends ComunAction {
    private GenericoDAO genericoDAO;
    private Cdi cdi;
    
    private String telEmp;
    private String celEmp;
    private String emaEmp;
    private String dirEmp;
    private String pwdEmp;
    private String nombreUsuario;
    
 /**
 *Constructor.  
 *@param GenericoDAO interface donde se encuentran los métodos para acceder a 
 * a la clase entidad Cuenta. 
 */ 
public CuentaAction(GenericoDAO genericoDAO){
        this.genericoDAO = genericoDAO;
        cdi = new    Cdi();
        
        cdi.setIdMunicipio(new Municipio());
}   
/**
 * Busca el método que se ejecutara
 */
    @Override
    public String execute(){
        buscarMetodo(cdi);        
        return null;
    }
       
    @Override    
    public void agregarEntidad(Object o) {
    }
    @Override
    public void borrarEntidad(Object o) {
    }
    
 /**
 * @param objeto de la entidad Cuenta
 * Actualiza datos de la cuenta de usuario.
 */
    @Override
    public void editarEntidad(Object o) {
        
        Empleado e;
        List<Empleado> listaEmpleado = null;
        
        Map session = ActionContext.getContext().getSession();
        String idUsuario = session.get("idUsuario").toString();
        
        telEmp = getRequest().getParameter("TelEmp");
        celEmp = getRequest().getParameter("CelEmp");
        emaEmp = getRequest().getParameter("EmaEmp");
        dirEmp = getRequest().getParameter("DirEmp");
        pwdEmp = getRequest().getParameter("pwdEmp");
        nombreUsuario = getRequest().getParameter("nombreUsuario");
        
        try{
        
            listaEmpleado = genericoDAO.find("SELECT e FROM Empleado e WHERE e.idEmpleado = '" + idUsuario + "'",null,null);
        
            e = listaEmpleado.get(0);
        
            if(!telEmp.equals("")) e.setTelEmpleado(telEmp);
            if(!celEmp.equals("")) e.setCelEmpleado(celEmp);
            if(!emaEmp.equals("")) e.setEmaEmpleado(emaEmp);
            if(!dirEmp.equals("")) e.setDirEmpleado(dirEmp);
            if(!pwdEmp.equals("")) e.setPassUsuario(pwdEmp);
            if(!nombreUsuario.equals("")) e.setNomUsuario(nombreUsuario);            
        
            genericoDAO.update(e);
            
       }catch(Exception ex){
            Logger.getLogger(CuentaAction.class.getName()).log(Level.SEVERE, null, ex);
            enviarMensajeStatic(Constantes.MENSAJE_ERROR+ex.getCause().toString(), getResponse());
        }    
    }
    
    @Override
    public void alimentarGrid() {
    }
    
    @Override
    public void reporteXls() {
    } 
}
